/**
 * Universidad Del Valle De Guatemala.
 * Algoritmos y Estructuras de Datos.
 * Hoja de Trabajo 7
 * Miguel Enrique Zea Arenales.
 * Carné 09238.
 * 17/10/2012.
 * Descripción: implementación de WordSet utilizando Red Black Binary Search Trees. 
 */
package bsts;

import ods.RedBlackTree;
import structure5.RedBlackSearchTree;

/**
 * @author Miguel Zea
 */
public class RedBlackTreeSet implements WordSet {
    private RedBlackBST<Word, Word> base; // Contenedor de palabras.
	
    /**
     * Pre: ninguna.
     * Post: construye un conjunto de palabras implementado con RedBlackBST.
     */
    public RedBlackTreeSet() {
        base = new RedBlackBST<Word, Word>();
    }

    /**
     * Pre: el conjunto de palabras no está vacío.
     * Post: retorna la palabra especificada en el conjunto, si existe.
     */
    @Override
    public Word get(Word word) {
        if(!base.contains(word)) return null;
        return base.get(word);
    }
	
    /**
     * Pre: ninguna.
     * Post: se agrega una palabra al conjunto de ellas.
     */
    @Override
    public void add(Word wordObject) {
        base.put(wordObject, wordObject);
    }
}
